using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Nsb.Classes;

namespace Yoshi.Classes
{
    // ReSharper disable UnassignedField.Global
    // ReSharper disable InconsistentNaming
    // ReSharper disable UnusedMember.Global
    // ReSharper disable NotAccessedField.Global
    // ReSharper disable FieldCanBeMadeReadOnly.Global
    [IgnoreNamespace]
    public sealed class FeedItem
    {
        public string id;
        public string category;
        public string message;
        public bool hasComments;
        public int createTime;
        public bool unread;
        public string link;

        public const string TextCategory = "text";

        public FeedItem(string categoryIn, string messageIn)
        {
            id = Formulas.NewId;
            category = categoryIn;
            message = messageIn;
            createTime = (new Date()).GetTime();
            unread = true;
        }
    }

    [IgnoreNamespace]
    public sealed class CommentItem
    {
        public string id;
        public string byId;
        public string blob;
        public bool hasComments;
        public int createTime;
        public bool unread;

        public CommentItem(string blobIn)
        {
            id = Formulas.NewId;
            byId = Master.Profile.MyId;
            blob = blobIn;
            createTime = (new Date()).GetTime();
            unread = true;
        }
    }

    [IgnoreNamespace]
    public sealed class ImageItem
    {
        public string Path;     // Base anchored file path
        public string Master;   // Path to master
        public string Source;   // Url to image source
        public string Thumb;    // Path to thumbnail image
        public int Width;
        public int Height;
    }

}
